There is a growing movement directed toward finding more energy efficient ways to operate computer systems. This is known generally as green computing. As used herein, the term computer system includes any collection of hardware and software that can be used to processes information. Examples of hardware which may be included in a computer system are one or more servers, personal computers (PCs), personal digital assistants (PDAs), telephones, storage devices (e.g., disk arrays), networking devices (e.g., switches and routers), input/output (I/O) devices (e.g., keyboards and monitors), and other devices, such as power supplies and cooling systems. Examples of software that may be included in a computer system are system software (e.g., file systems, backup systems, and operating systems (OSs)), applications (e.g., word processors), as well as utilities, drivers, and other types of software. There are many techniques available to reduce the amount of energy consumed by a computer system. Most current approaches focus on hardware improvements. Several examples of efforts to reduce energy consumption through hardware optimization are: building hardware which is more efficient; consolidating multiple systems into a single system; and powering down systems when they are idle. There are several groups and initiatives directed toward evaluating computer hardware in terms of energy consumption.
A computer system's energy usage depends on the software application (hereinafter “application”) being run on the system. An application, as used herein, includes any type of computer program which can be used to process information in a meaningful way, including but not limited to, system software (e.g., backup systems, operating systems, file managers), application software (e.g., word processors, spreadsheet, media players), and other types of software (e.g., utilities, drivers). An application is not limited to running on one device, but may be distributed across multiple devices. Some applications require a computer system to consume more energy than other applications. Currently there is no way of knowing in advance how a given application will affect a computer system's energy consumption. For someone managing large numbers of computer systems, this could be a serious problem, as deciding which applications to use can have dramatic consequences in terms of energy consumption.